﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _82Func
{
    class Program
    {
        public delegate int MyD(int a);

        static void Main(string[] args)
        {
            //有返回值的委托，里面的参数最后一个返回值类型
            //里面的参数是16位
            //Func<int> f1 = new Func<int>(TestF);
            //Func<int> f2 = TestF;
            //f1();
            ////打印委托名，得出来的是返回值类型
            //Console.WriteLine(f1);
            ////打印委托名方法，得出来的是返回值
            //Console.WriteLine(f1());
            //Console.ReadKey();


            //Func<int,string> f = new Func<int,string>(TestF);
            //Console.WriteLine(f(10));

            
            Func<int, bool, string> f = new Func<int, bool, string>(TestF);
            string str = f(100,true );
            Console.WriteLine(str);

             
            Console.ReadKey();
        }

        static int TestF()
        {
            return 1;
        }

        static string TestF(int a)
        {
            return "sun" + a;
        }

        static string TestF(int a, bool b)
        {
            return "leichao" + a + b;
        }

    }
}
